import java.util.HashMap;
import java.util.Scanner;

public class LongestEqualSubarray {
    public static int findMaxLength(int[] nums) {
        // 哈希表用于记录数字出现的频率
        HashMap<Integer, Integer> freqMap = new HashMap<>();
        int maxFreq = 0;  // 当前窗口内出现最多的数字频率
        int left = 0;     // 滑动窗口左边界
        int result = 0;   // 最长相等子段的长度

        for (int right = 0; right < nums.length; right++) {
            // 更新当前数字的频率
            freqMap.put(nums[right], freqMap.getOrDefault(nums[right], 0) + 1);
            maxFreq = Math.max(maxFreq, freqMap.get(nums[right]));

            // 如果替换次数超过3次，则缩小窗口
            if (right - left + 1 - maxFreq > 3) {
                freqMap.put(nums[left], freqMap.get(nums[left]) - 1);
                left++;
            }

            // 更新结果
            result = Math.max(result, right - left + 1);
        }

        return result;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] input = scanner.nextLine().split(" ");
        int[] nums = new int[input.length];

        for (int i = 0; i < input.length; i++) {
            nums[i] = Integer.parseInt(input[i]);
        }

        System.out.println(findMaxLength(nums));
    }
}
